package com.infocollect.project.grant.service;

import java.util.List;

import com.infocollect.framework.web.domain.AjaxResult;
import com.infocollect.project.grant.domain.GrFamiliesExampoint;
import com.infocollect.project.grant.domain.GrFamiliesExampointDto;

/**
 * 科类考点关联Service接口
 * 
 * @author infocollect
 * @date 2022-05-14
 */
public interface IGrFamiliesExampointService 
{
    /**
     * 查询科类考点关联
     * 
     * @param examPointId 科类考点关联ID
     * @return 科类考点关联
     */
    public GrFamiliesExampoint selectGrFamiliesExampointById(Long examPointId);

    /**
     * 查询科类考点关联列表
     * 
     * @param grFamiliesExampointDto 科类考点关联
     * @return 科类考点关联集合
     */
    public List<GrFamiliesExampointDto> selectGrFamiliesExampointList(GrFamiliesExampointDto grFamiliesExampointDto);

    /**
     * 新增科类考点关联
     * 
     * @param grFamiliesExampoint 科类考点关联
     * @return 结果
     */
    public int insertGrFamiliesExampoint(GrFamiliesExampoint grFamiliesExampoint);

    /**
     * 修改科类考点关联
     * 
     * @param grFamiliesExampoint 科类考点关联
     * @return 结果
     */
    public int updateGrFamiliesExampoint(GrFamiliesExampoint grFamiliesExampoint);

    /**
     * 批量删除科类考点关联
     * 
     * @param examPointIds 需要删除的科类考点关联ID
     * @return 结果
     */
    public int deleteGrFamiliesExampointByIds(Long[] examPointIds);

    /**
     * 删除科类考点关联信息
     * 
     * @param examPointId 科类考点关联ID
     * @return 结果
     */
    public int deleteGrFamiliesExampointById(Long examPointId);

    /**
     * 获取考点配置科类的科类选择列表
     * @return
     */
    public List<GrFamiliesExampointDto> getFamiliesSelectList(GrFamiliesExampointDto grFamiliesExampointDto);

    /**
     * 保存考点科类设置
     * @param grFamiliesExampointDto
     * @return
     */
    public AjaxResult saveExampointFamilies(GrFamiliesExampointDto grFamiliesExampointDto);

    /**
     * 查询考点科类关联列表
     * @param grFamiliesExampoint
     * @return
     */
    public List<GrFamiliesExampoint> queryGrfamiliesExampointList(GrFamiliesExampoint grFamiliesExampoint);
}
